import java.util.HashMap;
import java.util.Map;

public class Cart {
    // 定义一个Map，用于存储水果和数量
    private Map<Fruit, Integer> fruits = new HashMap<>();
    // 添加水果到购物车
    public void addFruit(String fruitType, int quantity) {
        // 根据水果类型创建水果对象
        Fruit fruit = FruitFactory.createFruit(fruitType);
        // 将水果对象和数量存入Map中
        fruits.put(fruit, fruits.getOrDefault(fruit, 0) + quantity);
    }
    // 添加水果到购物车，并指定折扣策略
    public void addFruit(String fruitType, int quantity , DiscountStrategy discountStrategy) {
        // 根据水果类型和折扣策略创建水果对象
        Fruit fruit = FruitFactory.createFruit(fruitType,discountStrategy);
        // 将水果对象和数量存入Map中
        fruits.put(fruit, fruits.getOrDefault(fruit, 0) + quantity);
    }
    // 计算购物车中所有水果的总价格
    public double calculateTotalPrice() {
        double totalPrice = 0.0;
        // 遍历Map中的所有水果
        for (Map.Entry<Fruit, Integer> entry : fruits.entrySet()) {
            Fruit fruit = entry.getKey();
            int quantity = entry.getValue();
            // 计算每种水果的价格
            totalPrice += fruit.calculatePrice(quantity);
        }
        return totalPrice;
    }

}
